iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 12
0

Substrate Runtime Module Library(SRML)是一組執行環境的模組集合。

什麼是執行環境模組?

Substrate Runtime 可以由幾個較小的組件組成,用於分離關注點。這些組件稱為執行環境模組。執行環境將一組功能(可調度的外部調用,公共或私有,可變或不可變),存儲項以及可能的事件打包在一起,以支持運行時的某些功能集。我們可以將 SRML 模組視為可以用於創建其他程序包或運行時的程序包(類似於 node.js 應用程序的 npm 程序包)。

SRML 系統架構
Substrate 程式庫附帶了一組執行環境模組和一些框架組件,以支持其執行環境。下圖顯示了 SRML 及其支持程式庫的系統架構組件。

https://ithelp.ithome.com.tw/upload/images/20190927/20111706xHFOPDZtcZ.png

有四個主要的框架組件支持運行時模組。

系統模組

系統模組提供低層級的 API 和工具程式以支持其他模組。可以將其視為 SRML 的標準程式庫。特別是,系統模組為 Substrate 執行時定義了所有核心類型。它還定義了外部事件(成功/失敗)。所有其他模組(定制的或 SRML 的一部分)都取決於系統模組。

執行模組

執行模組為執行環境的協作層,它負責在執行時將傳入的外部調用分派到各個模組。

支持巨集

支持巨集是一組 Rust 的巨集,幫助我們實現模組中常見的組件集合。這些巨集在執行時擴展生成各種類型(模組,調用,存儲,事件等),執行時將使用這些類型與模組進行通信。一些常見的巨集包含 decl_module,decl_storage,decl_event,ensure,等。

執行環境

執行環境將所有框架組件和模組整合在一起。它擴展了巨集以獲取每個模組的類型和特徵。它同時也調用執行模組以便將調用轉發到各個模組。

SRML 模組

SRML 預設一組預先定義的模組,這些模組可以在整個執行環境中重複使用。例如,SRML 中的 Balances 模組可用於追蹤帳戶和餘額,而 Assets 模組可用於創建和管理數位資產。

您可以通過繼承系統預設的模組(如上所述),或是繼承一或多個 SRML 模組來擴充開發自己的自定義模組。

以下是 SRML 已實作的模組:

  • Assets
  • Aura
  • Balances
  • Consensus
  • Contracts
  • Council
  • Democracy
  • Finality Tracker
  • Grandpa
  • Indices
  • Session
  • Staking
  • Sudo
  • Timestamp
  • Treasury

接下來的三十天內,就讓我們一起跟著小明的團隊一起學習最新的兩大跨鏈技術之一:Polkadot Substrate。

Substrate 開發者資源:
https://substrate.dev

Polkadot 官網:
https://polkadot.network

BDE 社群小聚錄影:
https://bitlly.co/ogvpb


想找區塊鏈人才或想學習區塊鏈知識的夥伴。歡迎參加社群小聚,一起來輕鬆交流、互相學習成長、認識新朋友、發現新機會!
 
台北區塊鏈社群
https://bitlly.co/Q4dIK

台北波可道社群
https://bitlly.co/XgVTz
 
BDE 區塊鏈學院 - 讓每個企業都懂區塊鏈。
https://bitlly.co/mbDwX

藉著親自並協助他人進行軟體開發,
我們正致力於發掘更優良的軟體開發方法。
透過這樣的努力,我們已建立以下價值觀:
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
也就是說,雖然右側項目有其價值,
但我們更重視左側項目。


上一篇
Web 3.0 - Polkadot Substrate 介紹
下一篇
Web 3.0 - Polkadot Substrate 生態圈
系列文
新一代跨鏈技術 Polkadot Substrate 區塊鏈開發框架13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言